
// 上述介绍的组件间通信的方式，传递是数据内容本身， 有时父子组件间除了传递数据
// 外，还可以传递数据的结构， 这时需要用插槽来实现， 因此插槽也是父子组件间通信的一
// 种方式。

// 引入初始化样式
import './assets/less/index.less'

import { createApp } from 'vue'
 

import api from './api/api.js'

import './api/mock.js'

//elementplus引入(完整引入)
// import ElementPlus from 'element-plus'
// import 'element-plus/dist/index.css'
//elementplus引入icon图标
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

//pinia仓库
import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
const pinia = createPinia()

//router路由
import router from './router/index.js';


import App from './App.vue'
const app = createApp(App)
// if (process.env.NODE_ENV === 'production') {
//     const { mockXHR } = require('../mock')
//     mockXHR()
// }
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component)
}
  
// 将Axios挂载到Vue应用的原型上，以便在组件中通过this.$axios访问
pinia.use(piniaPluginPersistedstate)

app.config.globalProperties.$api=api

app.use(router)
app.use(pinia)
// app.use(ElementPlus)
app.mount('#app')
